When you break it down to its core, becoming a freelance web developer is simple.

You learn a technical skill like JavaScript or PHP and then find clients who are willing to pay you for your time.

The real challenge for freelancers is figuring how to be successful.

While there are thousands of developers on sites like Freelancer.com and Fiverr charging under $20/hour, there are also freelancers charging well over $100/hour.

So what’s the difference? (Hint, it’s not just experience).

In this article, we will take a look at the key points you need to build a successful career as a freelance web developer.

Note: the actionable tips and tricks in this guide were taken from numerous interviews with marketing professionals and senior freelance developers earning  +$100/hour.

Freelance Developer Guide 2019

Why become a freelance developer?

Flexibility

Freeing yourself from the constraints of a typical work environment can improve your quality of life.

As a solopreneur, you have the freedom to choose when you work, what you work on, and how much work you want. While you will still face certain project constraints, you can enjoy the flexibility in setting your schedule and organizing it around your personal life.

Financial control

As a freelancer, you can set your hourly rate and provide project quotes. This allows you to control your earnings and get what you’re worth.

Work environment

Software is arguably the best avenue to remote work. With improved communications software, it’s easier than ever to work from just about anywhere in the world. As long as you have a reliable Internet connection, you can set up shop at home or on a beach in Bali.

Project autonomy

On top of choosing the projects on which you want to work, suited to your skills and interests, you will also be able to pursue individual or open source projects you may not have otherwise been able to explore.

This is why freelancing is often viewed as a window to entrepreneurship.

Why not become a freelance web developer?

Freelancing is not for everyone. It introduces risk to your career and work profile.

You will have to negotiate your schedule and source your own projects while sacrificing potential benefits and job security. The freedom you get can be stressful to those who are more traditionally career-oriented.

Luckily, this guide to becoming a freelance web developer will help you navigate some of those concerns and provide you with actionable advice to get you pointed in the right direction.

Required skills

Maximizing earnings as a freelance developer requires strong technical ability combined with business skills to market yourself and please your clients.

If you’re already a technically experienced developer, we’d recommend jumping to the Business Skills section.

Coding languages

In order to charge hundreds of dollars per hour, you first need to invest a serious amount of time in learning how to code. (You won’t become a freelance developer over the weekend).

Some people take computer science classes while others are self-taught.

Just like spoken languages, there are hundreds of programming languages you can learn.

Trying to learn them all is definitely impractical and likely impossible. This is why we’d recommend you invest in T-shaped skills where you get a base in multiple languages while getting a deep understanding of a select number of languages.

But how do you choose the languages to focus on?

One thing to note is that the most popular programming languages are not always the most lucrative ones.

For example, PHP is used by around 80% of all websites worldwide, including WordPress sites.

However, the average salary for a PHP developer (82k) is much lower than other languages like JavaScript (111k) or Python (117k).

It all comes down to supply and demand.

Pro tip: Before you go out and learn a new exotic programming language, remember the time investment and the fact you need to find clients willing to pay you for your services.

As a starting point, you should have a strong understanding of the front-end browser applications: HTML, CSS, and JavaScript.

If you’d like to take online courses, here a some of the most popular resources:

  • Codecademy - Over 45 million students.
  • Coursera - Online courses and credentials from top educators.
  • Freecodecamp - Thousands of videos, articles, and interactive coding lessons.
  • edX - 2000 free online courses from 140 leading institutions worldwide, including Havard and MIT.
  • Udemy - Learning and teaching marketplace with over 100,000 courses and 24 million students.
  • Khan Academy - One of the original free online-learning institutions.

Pro tip: The best way to learn code is to start a real project for yourself. Solving problems along the way can be more valuable than any course you take.

Regardless of how much you learn, you will never know everything. The key to great programming is knowing where to find the answers to your questions.

“Half the battle in web development is knowing where to look for an answer, and knowing how to read the docs.”
- Jason Tunney, Front-end developer since 1997.

Stackoverflow is by far the leading resources when it comes to problem solving. As a freelance developer, being resourceful will truly become your most valuable single asset.

Before you consider yourself a viable freelance developer, you should be able to build websites or simple Web applications from scratch and be able to manipulate code within the most popular CMSs.

Design and UX

Successful web developers aren’t limited to writing code.

Having a strong understanding of user experience (UX) and design principles can help bridge the gap with design and marketing team while setting you apart from other developers.

While you don’t necessarily need to be a Photoshop or Sketch master, it’s important to be able to communicate and work with key stakeholders. To accomplish this, you will need to understand the web design process and what tools are used being used, like Invision.

Here are some helpful resources to get you up to speed:

Pro tip: Make sure to focus on areas that align with your particular skills and interests. For example, if you prefer less collaboration, UX might not be the best choice for you.

Other invaluable skills

Browsers

Web development centres around the browser. Understanding how the most popular browsers operate will serve you well during your career.

When doing web development, you will want to focus on Google Chrome. It’s the most popular browser which comes with several developer tools that can help you with testing, debugging, or improving the overall quality of your work.

RelatedKeep up to date with HTML5 and browser support.

Did you know? PageCloud is the only website builder that lets you use save changes made in the Web Inspector.

Content Management Systems and Website Builders

Knowing how to build a website from scratch is great. However, most businesses use some sort of platform to help them manage their website.

A basic understanding of the most popular tools will open doors to contracts that you might not have considered in the past.

The top Content Management Systems to look at are:

  • WordPress
  • Drupal
  • Joomla

The top website builder to look at are:

  • Wix
  • Squarespace
  • Weebly
  • Pagecloud
  • Webflow

The top ecommerce platforms to look at are:

  • Shopify
  • WooCommerce
  • BigCommerce
  • Magento


Operating systems and infrastructure

It’s pretty hard to become a successful developer without a basic understanding of how core technology works.

Although you don’t need to know how to build a computer or network from scratch, learning about operating systems and how the Internet works will help you be a better programmer.

Here are just a few topics that can serve you well:

  • Internet security
  • Website performance
  • Progressive web apps
  • Local dev environments

Pro tip: The more experience you gain, the faster and more efficient you will get at determining what you need to learn to improve your craft.

Business Skills

Being the best developer won’t guarantee you any success in freelancing.

The most successful freelancers are the ones that know how to market themselves, communicate their value, and work well with other individuals or teams.

Here are some of the foundation skills you’ll need to develop, along with some helpful examples:

  • Look professional: dress appropriately, have a professional email and signature, set up your voicemail, use proper vocabulary, watch your grammar, and manage your online presence.
  • Stay organized: this includes your email, calendar, Github, and working files.
  • Be reliable: hit your deadlines, be on time for meetings and video calls. Clients might not notice how you increased their website speed, but they will notice if you miss a meeting or a deadline.
  • Learn to sell yourself: the most valuable skill you have as a freelancer is learning how to communicate your value in a compelling way. More on this below. Develop social skills: learn to ask questions and demonstrate empathy.
  • Improve constantly: you WILL be wrong fairly often. Accept it. Don’t take criticism personally, and always self-assess projects to find out what you could have done better. Your customers will be valuable sources of feedback, and will become repeat customers if you show a willingness to learn and improve.

Now that you know all the skills you need to succeed, let’s look at how to start your business.

How to start a business

Before you start taking any projects, it’s always a good idea to lay a foundation in order to look credible in front of potential customers.

Here are the key steps to start a business:

Create your website

This is one of the most important things you can do.

If you can’t make a great website for yourself, how are you going to build one for others?

Follow design best practices and keep it relatively simple. Ensure it communicates the types of projects you’ve worked on and the ones you’re looking for. Your contact information should always be easy to find.

If you haven’t worked on any projects yet, we will give you tips in the next section.

Here are some great examples:

Vanderlanth.io

Adambbrooks.com

Findmatthew.com

As you can see, these eye catching portfolios show potential customers what they can expect.

As a developer, it’s important to implement unique elements that make you stand out.

When it comes to your domain name, most people use their name. However, you could come up with something catchy. For example, Ted Smith branded his website as: tednology.io.

Pro tip: if the majority of the sites you build are using a certain platform, it’s a good idea that your personal portfolio is built the same way.

Get on LinkedIn

Many business owners who want to validate that you are a legitimate candidate will start by looking you up on LinkedIn.

If you’re not there, don’t have a complete profile, or don’t have any connections, they might think that something’s wrong.

If you follow the tips found in this guide, it should be pretty easy to look professional in no time.

Essentially, what you need is a decent picture, some relevant experience, and some connections.

Register your business

If you’re going to adventure into full-time freelancing, it would be a good idea to register your business.

This will help you avoid problems with the government while offering you the ability to write off certain business expenses against your taxes. This is also very important if you plan on hiring or growing beyond a sole proprietorship.

Details vary based on your jurisdiction, but it’s an option worth exploring, especially when you are consistently bringing in lucrative projects.

Talking to a tax specialist for recommendations is always a good idea.

Adopt business software

Accounting

You want to minimize the amount of time you spend managing invoices.

This is why you’ll want to use apps like Quickbooks that take the guesswork out our your accounting. You can send invoices, keep track of receipts, file your taxes, and all the other finicky admin things you don’t want to be worrying about.

Sales

As freelancers scale their businesses, most invest into some sort of customer relationship software so that they can manage leads efficiently and close more deals.

However, when starting out, most freelancers can get away with the tools provided by G-Suite.

For example, Gmail is jam packed with features to help you manage your day-to-day activities. You can schedule emails, set reminders, automatic follow-ups, and so much more.

How to get clients and grow your business

This might seem like a daunting task at first, but it can actually be quite simple if you follow a set process and learn as you grow.

And because most freelancing work comes through referrals, it’s usually the first few contracts that are the hardest.

Start with your network

If you’ve never done any freelancing work before, this is going to be a very important lesson.

Start by reaching out to your network and let them know you’ve started doing freelance work.

You can do this through an email or status updates on social media.

If you can’t convince people who know you and need your services, then you might need to reassess your approach before trying to get hired by strangers.

Pro tip: consider doing pro bono (free) work for a local charity or non-profit organization as it can help you bolster your portfolio and gives you credibility when being interviewed by potential clients.

Think local

Despite the growing number of remote freelancers, many businesses still prefer working with someone who can walk in for a face-to-face meeting.

Here a few local marketing tips to consider:

  • Make a list of local businesses that don’t have a website or that have apparent problems with their current site (eg. no mobile version). Reach out to the businesses in person, by email, or by phone and explain what you do and how you can help them improve.
  • Follow up with people. Let’s face it, people are busy and even good ideas get lost. It’s important to follow up 2 or 3 times with leads that seem promising.
  • Join your local networking events and Meetups. This is a great way to pitch your services to multiple people in a single day.
  • Organize a presentation on a topic that you excel in (eg. the importance of website speed). This can be done through incubators or community events such as a chamber of commerce. By showcasing one of your skills, people will immediately gravitate towards your services.

For all of the above, it’s a good idea to have simple business cards with your domain of expertise and contact information.

Develop partnerships

There are many ways to build partnerships that can provide you with a steady stream of business.

As mentioned above, small businesses rely on a variety of organizations to help them grow. You can look up these organizations online or ask business owners which ones they work with.

One great source for dev work is partnering with designers and agencies. In both cases, they are often looking for help when it comes to the implementation or development of features and websites.

It’s important to note that large agencies often outsource smaller projects to freelancers as they are not part of their core business.

Pro tip: if you’re a new developer who’s looking to get started as a freelancer, it might be a good idea to apply for a full-time job at an agency. In a very short period of time, you can learn everything there is to know about freelancing while being supported by a larger organization.

Let’s be honest, agencies are essentially a group of freelancers. Plus, you’ll get introduced to dozens of businesses that will serve you well once you decide to go out on your own.

Traditional online marketplaces

Depending on where you live, sites like Kijiji and Craigslist can help you get connected to small businesses that need help with their online presence. Developers who are willing to weed through some undesirable requests can make good money on these sites.

Pro tip: Try to assess budgets as early as possible. Many posters don’t understand the scope of their own projects and therefore won’t be able to plan and pay for your services. It’s best to weed out those undesirable projects out early.

It's also worth checking out Indeed as you can filter jobs by "freelance" or "contract". If you\'ve got a decent resume, this is a great way to add a few hours every month. 

Freelancing portals

Freelancing portals such as Upwork, Fiverr, Freelancer, and Dribbble connect freelancers with development and design projects. Each portal has pros and cons and is geared towards a specific audience.

If you don’t have a strong portfolio with positive reviews, it can be challenging to get quality contracts on these sites. However, because these portals are free, we’d recommend you test them out and see what works for you. There are thousands of freelancers that live off of these sites alone.

Website builders (Developer communities)

Website builders like Wix, Squarespace, PageCloud, and Shopify have millions of paying customers and often these customers need help from professional designers or developers to take their sites to the next level.

Each platform has their own specific community of professionals that get paid to build websites and online stores:

This is arguably the most underutilized avenue for freelancers.

Once you’re approved to their program, which usually isn’t difficult, your business will be listed in front of thousands of potential customers. Plus, if you’re good at what you do, certain companies, like PageCloud, will even send work directly to you.

Often, the projects are already spec’d and determined to suit your area of expertise. This will allow you to quickly develop your portfolio and could become a source of regular work.

Build your reputation

If you want to become one of those freelance developers who charges top dollar and never has to look for contracts, you need to build and maintain your reputation.

There are many ways you can do this.

Imagine if you worked for 5 years at Google, Facebook, or Amazon.

Who wouldn’t want to hire you?

Because of their tremendous reputations, developers who work at high end tech companies have earned themselves golden tickets that can in theory open just about any door.

However, there are many other ways you can build your online reputation without ever needing to work for someone else:

  • Ask for reviews from the clients with whom you work: these could be recommendations on LinkedIn or reviews on your website. Either way, they add credibility to your profile.
  • Subscribe to reddit subs in your areas of interest, and start responding to questions or offering help when you can. r/webdev alone has 356,000 members. Try posting to Reddit or answering one question a day.
  • Contribute to open source projects. This is an entire conversation in itself, but will allow you to continue to hone your coding skills, improve your teamwork and communication skills, build trust with developer communities, and build out your Github account. This guide will help you get started with open source.
  • Work on passion projects or small design projects and publish them to Github. This will allow potential tech-savvy clients to quickly identify your competence and organization skills. It’s good to publish code regularly.
  • Build plugins or widgets for larger platforms. Depending on their income sharing structure, side projects like these can provide you with recurring income.
  • Start blogging regularly, and publish to your own blog and Medium. When you can, talk about projects you’ve worked on and insights you’ve gained along the way. There is a lot of value in specifically talking about coding, and with client permission you can use them as case studies.
  • If you have an area of expertise, start a newsletter. For example, Mike Grouchy and Mahdi Yusuf (experienced Python developers) started Pycoders Weekly. By sharing Python-related tips, tricks, and job opportunities, they were able to grow to over 50k subscribers.
  • Teach. Local colleges and Universities are always looking for guest speakers and guest professors. The contacts you make through these speaking engagements can boost your reputation in the community.

Final thoughts

Just like starting a business, becoming a freelancer is a process.

You can’t charge $200+/hour when you have little to no experience.

Start small and work your way into the bigger, more lucrative contracts.

At the beginning, you will want to experiment with a variety of lead-generating tactics, as mentioned above, and see what works best for you. For example, working as a Pagecloud Pro.

Once you’re well established and have built a solid reputation, most of your work should come through referrals.

Remember to always be learning. New technology and marketing tactics evolve quickly and you don’t want to be left behind. Your business value is your mind, so you will want to take care of it.

--

What did you think of the article? What are your top tips for developers just getting started with freelance work? Let us know in the comments.